// 需求1：加JSDoc注释
// 需求2：上传开源 

/**
 * COOKIE存储
 * @param {String} key 键
 * @param {Object} val 值
 * @param {Number} time 时间，默认10s
 */
function setcookie(key, val, time = 10) 
{
    // TODO: 对象类型得转换为JSON数据格式
    if (typeof val == 'object') val = JSON.stringify(val)

    const d = new Date   
    d.setTime( d.getTime() - 1000*60*60*8 + 1000*time )
    document.cookie = `${key}=${val}; expires=${d}`    
}


/**
 * COOKIE获取
 * @param {String} key 键
 * @returns String
 */
function getcookie(key)
{
    // TODO: 这边特殊推荐写for循环，你感兴趣的试一下先把for写明白，再用forEach写一下有什么特殊之处
    // 语法：document.cookie
    // 格式：键=值; 键=值; ...; 键=值
    // 1 安装【; 】分 ['键=值',...,'键=值']
    let arr = document.cookie.split('; ')
    // 2 遍历 item='键=值'
    for (let i=0; i<arr.length; i++) 
    {
        let item = arr[i]
        // 2.1 按照【=】分  ['键', '值']
        let tempArr = item.split('=')
        // 2.2 判断退出函数
        if (tempArr[0] == key) return tempArr[1]
    }
}

/**
 * COOKIE删除
 * @param {String} key 键
 * @returns undefined
 */
function removecookie(key)
{
    setcookie(key, null, -1) 
}